
class HomeFirstDetailModel {
  String? activityTag;
  String? collectionDesc;
  String? collectionNotice;
  String? coverImageUrl;
  String? daoHeadImageUrl;
  int? daoId;
  String? daoName;
  String? displayEndTime;
  String? displayStartTime;
  int? firstPublishCount;
  int? firstPublishGroupCount;
  String? firstPublishPrice;
  int? id;
  bool? isCanPriorityBuy;
  bool? isCanPriorityRob;
  bool? isPriorityBuy;
  bool? isPriorityBuyCondition;
  bool? isPriorityRob;
  bool? isPriorityRobCondition;
  bool? isPublicCondition;
  int? personalPriorityBuyCap;
  int? personalPriorityRobCap;
  int? personalPublicCap;
  List<PriorityBuyConditionList>? priorityBuyConditionList;
  String? priorityBuyEndTime;
  String? priorityBuyStartTime;
  int? priorityBuyTotal;
  List<PriorityRobConditionList>? priorityRobConditionList;
  String? priorityRobEndTime;
  String? priorityRobStartTime;
  int? priorityRobTotal;
  List<ProcessList>? processList;
  String? productName;
  String? productType;
  List<PublicConditionList>? publicConditionList;
  int? publicSaleCount;
  String? publicSaleEndTime;
  String? publicSaleStartTime;
  String? saleStatus;
  String? seriesName;
  int? showCount;
  int? showSoldCount;
  int? sourceId;
  String? sourceName;
  int? userCanBuyCount;

  HomeFirstDetailModel({this.activityTag, this.collectionDesc, this.collectionNotice, this.coverImageUrl, this.daoHeadImageUrl, this.daoId, this.daoName, this.displayEndTime, this.displayStartTime, this.firstPublishCount, this.firstPublishGroupCount, this.firstPublishPrice, this.id, this.isCanPriorityBuy, this.isCanPriorityRob, this.isPriorityBuy, this.isPriorityBuyCondition, this.isPriorityRob, this.isPriorityRobCondition, this.isPublicCondition, this.personalPriorityBuyCap, this.personalPriorityRobCap, this.personalPublicCap, this.priorityBuyConditionList, this.priorityBuyEndTime, this.priorityBuyStartTime, this.priorityBuyTotal, this.priorityRobConditionList, this.priorityRobEndTime, this.priorityRobStartTime, this.priorityRobTotal, this.processList, this.productName, this.productType, this.publicConditionList, this.publicSaleCount, this.publicSaleEndTime, this.publicSaleStartTime, this.saleStatus, this.seriesName, this.showCount, this.showSoldCount, this.sourceId, this.sourceName, this.userCanBuyCount});

  HomeFirstDetailModel.fromJson(Map<String, dynamic> json) {
    activityTag = json["activityTag"];
    collectionDesc = json["collectionDesc"];
    collectionNotice = json["collectionNotice"];
    coverImageUrl = json["coverImageUrl"];
    daoHeadImageUrl = json["daoHeadImageUrl"];
    daoId = json["daoId"];
    daoName = json["daoName"];
    displayEndTime = json["displayEndTime"];
    displayStartTime = json["displayStartTime"];
    firstPublishCount = json["firstPublishCount"];
    firstPublishGroupCount = json["firstPublishGroupCount"];
    firstPublishPrice = json["firstPublishPrice"];
    id = json["id"];
    isCanPriorityBuy = json["isCanPriorityBuy"];
    isCanPriorityRob = json["isCanPriorityRob"];
    isPriorityBuy = json["isPriorityBuy"];
    isPriorityBuyCondition = json["isPriorityBuyCondition"];
    isPriorityRob = json["isPriorityRob"];
    isPriorityRobCondition = json["isPriorityRobCondition"];
    isPublicCondition = json["isPublicCondition"];
    personalPriorityBuyCap = json["personalPriorityBuyCap"];
    personalPriorityRobCap = json["personalPriorityRobCap"];
    personalPublicCap = json["personalPublicCap"];
    priorityBuyConditionList = json["priorityBuyConditionList"] == null ? null : (json["priorityBuyConditionList"] as List).map((e) => PriorityBuyConditionList.fromJson(e)).toList();
    priorityBuyEndTime = json["priorityBuyEndTime"];
    priorityBuyStartTime = json["priorityBuyStartTime"];
    priorityBuyTotal = json["priorityBuyTotal"];
    priorityRobConditionList = json["priorityRobConditionList"] == null ? null : (json["priorityRobConditionList"] as List).map((e) => PriorityRobConditionList.fromJson(e)).toList();
    priorityRobEndTime = json["priorityRobEndTime"];
    priorityRobStartTime = json["priorityRobStartTime"];
    priorityRobTotal = json["priorityRobTotal"];
    processList = json["processList"] == null ? null : (json["processList"] as List).map((e) => ProcessList.fromJson(e)).toList();
    productName = json["productName"];
    productType = json["productType"];
    publicConditionList = json["publicConditionList"] == null ? null : (json["publicConditionList"] as List).map((e) => PublicConditionList.fromJson(e)).toList();
    publicSaleCount = json["publicSaleCount"];
    publicSaleEndTime = json["publicSaleEndTime"];
    publicSaleStartTime = json["publicSaleStartTime"];
    saleStatus = json["saleStatus"];
    seriesName = json["seriesName"];
    showCount = json["showCount"];
    showSoldCount = json["showSoldCount"];
    sourceId = json["sourceId"];
    sourceName = json["sourceName"];
    userCanBuyCount = json["userCanBuyCount"];
  }

  static List<HomeFirstDetailModel> fromList(List<Map<String, dynamic>> list) {
    return list.map(HomeFirstDetailModel.fromJson).toList();
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> _data = <String, dynamic>{};
    _data["activityTag"] = activityTag;
    _data["collectionDesc"] = collectionDesc;
    _data["collectionNotice"] = collectionNotice;
    _data["coverImageUrl"] = coverImageUrl;
    _data["daoHeadImageUrl"] = daoHeadImageUrl;
    _data["daoId"] = daoId;
    _data["daoName"] = daoName;
    _data["displayEndTime"] = displayEndTime;
    _data["displayStartTime"] = displayStartTime;
    _data["firstPublishCount"] = firstPublishCount;
    _data["firstPublishGroupCount"] = firstPublishGroupCount;
    _data["firstPublishPrice"] = firstPublishPrice;
    _data["id"] = id;
    _data["isCanPriorityBuy"] = isCanPriorityBuy;
    _data["isCanPriorityRob"] = isCanPriorityRob;
    _data["isPriorityBuy"] = isPriorityBuy;
    _data["isPriorityBuyCondition"] = isPriorityBuyCondition;
    _data["isPriorityRob"] = isPriorityRob;
    _data["isPriorityRobCondition"] = isPriorityRobCondition;
    _data["isPublicCondition"] = isPublicCondition;
    _data["personalPriorityBuyCap"] = personalPriorityBuyCap;
    _data["personalPriorityRobCap"] = personalPriorityRobCap;
    _data["personalPublicCap"] = personalPublicCap;
    if(priorityBuyConditionList != null) {
      _data["priorityBuyConditionList"] = priorityBuyConditionList?.map((e) => e.toJson()).toList();
    }
    _data["priorityBuyEndTime"] = priorityBuyEndTime;
    _data["priorityBuyStartTime"] = priorityBuyStartTime;
    _data["priorityBuyTotal"] = priorityBuyTotal;
    if(priorityRobConditionList != null) {
      _data["priorityRobConditionList"] = priorityRobConditionList?.map((e) => e.toJson()).toList();
    }
    _data["priorityRobEndTime"] = priorityRobEndTime;
    _data["priorityRobStartTime"] = priorityRobStartTime;
    _data["priorityRobTotal"] = priorityRobTotal;
    if(processList != null) {
      _data["processList"] = processList?.map((e) => e.toJson()).toList();
    }
    _data["productName"] = productName;
    _data["productType"] = productType;
    if(publicConditionList != null) {
      _data["publicConditionList"] = publicConditionList?.map((e) => e.toJson()).toList();
    }
    _data["publicSaleCount"] = publicSaleCount;
    _data["publicSaleEndTime"] = publicSaleEndTime;
    _data["publicSaleStartTime"] = publicSaleStartTime;
    _data["saleStatus"] = saleStatus;
    _data["seriesName"] = seriesName;
    _data["showCount"] = showCount;
    _data["showSoldCount"] = showSoldCount;
    _data["sourceId"] = sourceId;
    _data["sourceName"] = sourceName;
    _data["userCanBuyCount"] = userCanBuyCount;
    return _data;
  }

  HomeFirstDetailModel copyWith({
    String? activityTag,
    String? collectionDesc,
    String? collectionNotice,
    String? coverImageUrl,
    String? daoHeadImageUrl,
    int? daoId,
    String? daoName,
    String? displayEndTime,
    String? displayStartTime,
    int? firstPublishCount,
    int? firstPublishGroupCount,
    String? firstPublishPrice,
    int? id,
    bool? isCanPriorityBuy,
    bool? isCanPriorityRob,
    bool? isPriorityBuy,
    bool? isPriorityBuyCondition,
    bool? isPriorityRob,
    bool? isPriorityRobCondition,
    bool? isPublicCondition,
    int? personalPriorityBuyCap,
    int? personalPriorityRobCap,
    int? personalPublicCap,
    List<PriorityBuyConditionList>? priorityBuyConditionList,
    String? priorityBuyEndTime,
    String? priorityBuyStartTime,
    int? priorityBuyTotal,
    List<PriorityRobConditionList>? priorityRobConditionList,
    String? priorityRobEndTime,
    String? priorityRobStartTime,
    int? priorityRobTotal,
    List<ProcessList>? processList,
    String? productName,
    String? productType,
    List<PublicConditionList>? publicConditionList,
    int? publicSaleCount,
    String? publicSaleEndTime,
    String? publicSaleStartTime,
    String? saleStatus,
    String? seriesName,
    int? showCount,
    int? showSoldCount,
    int? sourceId,
    String? sourceName,
    int? userCanBuyCount,
  }) => HomeFirstDetailModel(
    activityTag: activityTag ?? this.activityTag,
    collectionDesc: collectionDesc ?? this.collectionDesc,
    collectionNotice: collectionNotice ?? this.collectionNotice,
    coverImageUrl: coverImageUrl ?? this.coverImageUrl,
    daoHeadImageUrl: daoHeadImageUrl ?? this.daoHeadImageUrl,
    daoId: daoId ?? this.daoId,
    daoName: daoName ?? this.daoName,
    displayEndTime: displayEndTime ?? this.displayEndTime,
    displayStartTime: displayStartTime ?? this.displayStartTime,
    firstPublishCount: firstPublishCount ?? this.firstPublishCount,
    firstPublishGroupCount: firstPublishGroupCount ?? this.firstPublishGroupCount,
    firstPublishPrice: firstPublishPrice ?? this.firstPublishPrice,
    id: id ?? this.id,
    isCanPriorityBuy: isCanPriorityBuy ?? this.isCanPriorityBuy,
    isCanPriorityRob: isCanPriorityRob ?? this.isCanPriorityRob,
    isPriorityBuy: isPriorityBuy ?? this.isPriorityBuy,
    isPriorityBuyCondition: isPriorityBuyCondition ?? this.isPriorityBuyCondition,
    isPriorityRob: isPriorityRob ?? this.isPriorityRob,
    isPriorityRobCondition: isPriorityRobCondition ?? this.isPriorityRobCondition,
    isPublicCondition: isPublicCondition ?? this.isPublicCondition,
    personalPriorityBuyCap: personalPriorityBuyCap ?? this.personalPriorityBuyCap,
    personalPriorityRobCap: personalPriorityRobCap ?? this.personalPriorityRobCap,
    personalPublicCap: personalPublicCap ?? this.personalPublicCap,
    priorityBuyConditionList: priorityBuyConditionList ?? this.priorityBuyConditionList,
    priorityBuyEndTime: priorityBuyEndTime ?? this.priorityBuyEndTime,
    priorityBuyStartTime: priorityBuyStartTime ?? this.priorityBuyStartTime,
    priorityBuyTotal: priorityBuyTotal ?? this.priorityBuyTotal,
    priorityRobConditionList: priorityRobConditionList ?? this.priorityRobConditionList,
    priorityRobEndTime: priorityRobEndTime ?? this.priorityRobEndTime,
    priorityRobStartTime: priorityRobStartTime ?? this.priorityRobStartTime,
    priorityRobTotal: priorityRobTotal ?? this.priorityRobTotal,
    processList: processList ?? this.processList,
    productName: productName ?? this.productName,
    productType: productType ?? this.productType,
    publicConditionList: publicConditionList ?? this.publicConditionList,
    publicSaleCount: publicSaleCount ?? this.publicSaleCount,
    publicSaleEndTime: publicSaleEndTime ?? this.publicSaleEndTime,
    publicSaleStartTime: publicSaleStartTime ?? this.publicSaleStartTime,
    saleStatus: saleStatus ?? this.saleStatus,
    seriesName: seriesName ?? this.seriesName,
    showCount: showCount ?? this.showCount,
    showSoldCount: showSoldCount ?? this.showSoldCount,
    sourceId: sourceId ?? this.sourceId,
    sourceName: sourceName ?? this.sourceName,
    userCanBuyCount: userCanBuyCount ?? this.userCanBuyCount,
  );
}

class PublicConditionList {
  String? conditionHoldType;
  String? conditionImageUrl;
  String? conditionName;
  String? conditionType;
  int? num;

  PublicConditionList({this.conditionHoldType, this.conditionImageUrl, this.conditionName, this.conditionType, this.num});

  PublicConditionList.fromJson(Map<String, dynamic> json) {
    conditionHoldType = json["conditionHoldType"];
    conditionImageUrl = json["conditionImageUrl"];
    conditionName = json["conditionName"];
    conditionType = json["conditionType"];
    num = json["num"];
  }

  static List<PublicConditionList> fromList(List<Map<String, dynamic>> list) {
    return list.map(PublicConditionList.fromJson).toList();
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> _data = <String, dynamic>{};
    _data["conditionHoldType"] = conditionHoldType;
    _data["conditionImageUrl"] = conditionImageUrl;
    _data["conditionName"] = conditionName;
    _data["conditionType"] = conditionType;
    _data["num"] = num;
    return _data;
  }

  PublicConditionList copyWith({
    String? conditionHoldType,
    String? conditionImageUrl,
    String? conditionName,
    String? conditionType,
    int? num,
  }) => PublicConditionList(
    conditionHoldType: conditionHoldType ?? this.conditionHoldType,
    conditionImageUrl: conditionImageUrl ?? this.conditionImageUrl,
    conditionName: conditionName ?? this.conditionName,
    conditionType: conditionType ?? this.conditionType,
    num: num ?? this.num,
  );
}

class ProcessList {
  String? endTime;
  String? limitDesc;
  String? processName;
  String? processType;
  bool? processed;
  String? startTime;

  ProcessList({this.endTime, this.limitDesc, this.processName, this.processType, this.processed, this.startTime});

  ProcessList.fromJson(Map<String, dynamic> json) {
    endTime = json["endTime"];
    limitDesc = json["limitDesc"];
    processName = json["processName"];
    processType = json["processType"];
    processed = json["processed"];
    startTime = json["startTime"];
  }

  static List<ProcessList> fromList(List<Map<String, dynamic>> list) {
    return list.map(ProcessList.fromJson).toList();
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> _data = <String, dynamic>{};
    _data["endTime"] = endTime;
    _data["limitDesc"] = limitDesc;
    _data["processName"] = processName;
    _data["processType"] = processType;
    _data["processed"] = processed;
    _data["startTime"] = startTime;
    return _data;
  }

  ProcessList copyWith({
    String? endTime,
    String? limitDesc,
    String? processName,
    String? processType,
    bool? processed,
    String? startTime,
  }) => ProcessList(
    endTime: endTime ?? this.endTime,
    limitDesc: limitDesc ?? this.limitDesc,
    processName: processName ?? this.processName,
    processType: processType ?? this.processType,
    processed: processed ?? this.processed,
    startTime: startTime ?? this.startTime,
  );
}

class PriorityRobConditionList {
  String? conditionHoldType;
  String? conditionImageUrl;
  String? conditionName;
  String? conditionType;
  int? num;

  PriorityRobConditionList({this.conditionHoldType, this.conditionImageUrl, this.conditionName, this.conditionType, this.num});

  PriorityRobConditionList.fromJson(Map<String, dynamic> json) {
    conditionHoldType = json["conditionHoldType"];
    conditionImageUrl = json["conditionImageUrl"];
    conditionName = json["conditionName"];
    conditionType = json["conditionType"];
    num = json["num"];
  }

  static List<PriorityRobConditionList> fromList(List<Map<String, dynamic>> list) {
    return list.map(PriorityRobConditionList.fromJson).toList();
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> _data = <String, dynamic>{};
    _data["conditionHoldType"] = conditionHoldType;
    _data["conditionImageUrl"] = conditionImageUrl;
    _data["conditionName"] = conditionName;
    _data["conditionType"] = conditionType;
    _data["num"] = num;
    return _data;
  }

  PriorityRobConditionList copyWith({
    String? conditionHoldType,
    String? conditionImageUrl,
    String? conditionName,
    String? conditionType,
    int? num,
  }) => PriorityRobConditionList(
    conditionHoldType: conditionHoldType ?? this.conditionHoldType,
    conditionImageUrl: conditionImageUrl ?? this.conditionImageUrl,
    conditionName: conditionName ?? this.conditionName,
    conditionType: conditionType ?? this.conditionType,
    num: num ?? this.num,
  );
}

class PriorityBuyConditionList {
  String? conditionHoldType;
  String? conditionImageUrl;
  String? conditionName;
  String? conditionType;
  int? num;

  PriorityBuyConditionList({this.conditionHoldType, this.conditionImageUrl, this.conditionName, this.conditionType, this.num});

  PriorityBuyConditionList.fromJson(Map<String, dynamic> json) {
    conditionHoldType = json["conditionHoldType"];
    conditionImageUrl = json["conditionImageUrl"];
    conditionName = json["conditionName"];
    conditionType = json["conditionType"];
    num = json["num"];
  }

  static List<PriorityBuyConditionList> fromList(List<Map<String, dynamic>> list) {
    return list.map(PriorityBuyConditionList.fromJson).toList();
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> _data = <String, dynamic>{};
    _data["conditionHoldType"] = conditionHoldType;
    _data["conditionImageUrl"] = conditionImageUrl;
    _data["conditionName"] = conditionName;
    _data["conditionType"] = conditionType;
    _data["num"] = num;
    return _data;
  }

  PriorityBuyConditionList copyWith({
    String? conditionHoldType,
    String? conditionImageUrl,
    String? conditionName,
    String? conditionType,
    int? num,
  }) => PriorityBuyConditionList(
    conditionHoldType: conditionHoldType ?? this.conditionHoldType,
    conditionImageUrl: conditionImageUrl ?? this.conditionImageUrl,
    conditionName: conditionName ?? this.conditionName,
    conditionType: conditionType ?? this.conditionType,
    num: num ?? this.num,
  );
}